<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArMapObject Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArMapObject.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArMapObject-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArMapObject Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A point or region of interest in an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map.  
 <a href="classArMapObject.html#details">More...</a></p>

<p><code>#include &lt;ArMapObject.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ae0045d45289849cbea543b135bbaac7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0045d45289849cbea543b135bbaac7d"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>ARG_INDEX_COUNT</b> = LAST_ARG_INDEX + 1
 }</td></tr>
<tr class="separator:ae0045d45289849cbea543b135bbaac7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf669c28f135e476680b16d0f508037"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cf669c28f135e476680b16d0f508037"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a9cf669c28f135e476680b16d0f508037">ArgIndex</a> { <br />
&#160;&#160;<b>TYPE_ARG_INDEX</b> = 0, 
<b>POSE_X_ARG_INDEX</b> = 1, 
<b>POSE_Y_ARG_INDEX</b> = 2, 
<b>TH_ARG_INDEX</b> = 3, 
<br />
&#160;&#160;<b>DESC_ARG_INDEX</b> = 4, 
<b>ICON_ARG_INDEX</b> = 5, 
<b>NAME_ARG_INDEX</b> = 6, 
<b>LAST_POSE_ARG_INDEX</b> = NAME_ARG_INDEX, 
<br />
&#160;&#160;<b>FROM_X_ARG_INDEX</b> = 7, 
<b>FROM_Y_ARG_INDEX</b> = 8, 
<b>TO_X_ARG_INDEX</b> = 9, 
<b>TO_Y_ARG_INDEX</b> = 10, 
<br />
&#160;&#160;<b>LAST_ARG_INDEX</b> = TO_Y_ARG_INDEX
<br />
 }<tr class="memdesc:a9cf669c28f135e476680b16d0f508037"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classArArgumentBuilder.html" title="This class is to build arguments for things that require argc and argv. ">ArArgumentBuilder</a> indices for the various map object attributes. <br /></td></tr>
</td></tr>
<tr class="separator:a9cf669c28f135e476680b16d0f508037"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a04a5dec36b6f4f0f064721d48d677cea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a04a5dec36b6f4f0f064721d48d677cea">ArMapObject</a> (const char *type, <a class="el" href="classArPose.html">ArPose</a> pose, const char *description, const char *iconName, const char *name, bool <a class="el" href="classArMapObject.html#a673578fc0faa0aaa00964ff404c28716">hasFromTo</a>, <a class="el" href="classArPose.html">ArPose</a> fromPose, <a class="el" href="classArPose.html">ArPose</a> toPose)</td></tr>
<tr class="memdesc:a04a5dec36b6f4f0f064721d48d677cea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a04a5dec36b6f4f0f064721d48d677cea">More...</a><br /></td></tr>
<tr class="separator:a04a5dec36b6f4f0f064721d48d677cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92498be3366701daad9697ae7848c4aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92498be3366701daad9697ae7848c4aa"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a92498be3366701daad9697ae7848c4aa">ArMapObject</a> (const <a class="el" href="classArMapObject.html">ArMapObject</a> &amp;mapObject)</td></tr>
<tr class="memdesc:a92498be3366701daad9697ae7848c4aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a92498be3366701daad9697ae7848c4aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe80a4961f0ad2457f81bb7a7d939d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a4fe80a4961f0ad2457f81bb7a7d939d1">findCenter</a> (void) const </td></tr>
<tr class="memdesc:a4fe80a4961f0ad2457f81bb7a7d939d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the center pose of the map object.  <a href="#a4fe80a4961f0ad2457f81bb7a7d939d1">More...</a><br /></td></tr>
<tr class="separator:a4fe80a4961f0ad2457f81bb7a7d939d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6620dc2f7392c663bc50d3bc7efc451"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aa6620dc2f7392c663bc50d3bc7efc451">getBaseType</a> (void) const </td></tr>
<tr class="memdesc:aa6620dc2f7392c663bc50d3bc7efc451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the "base" (or root) type of the map object.  <a href="#aa6620dc2f7392c663bc50d3bc7efc451">More...</a><br /></td></tr>
<tr class="separator:aa6620dc2f7392c663bc50d3bc7efc451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1d5394a7230bf2ef0853f9524c0f03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed1d5394a7230bf2ef0853f9524c0f03"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aed1d5394a7230bf2ef0853f9524c0f03">getDescription</a> () const </td></tr>
<tr class="memdesc:aed1d5394a7230bf2ef0853f9524c0f03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the optional description of the map object. <br /></td></tr>
<tr class="separator:aed1d5394a7230bf2ef0853f9524c0f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47e67c93dafae3cfe4dc3bbc090f60c7"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a47e67c93dafae3cfe4dc3bbc090f60c7">getFileName</a> (void) const </td></tr>
<tr class="memdesc:a47e67c93dafae3cfe4dc3bbc090f60c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the fileName of the object (probably never used for maps)  <a href="#a47e67c93dafae3cfe4dc3bbc090f60c7">More...</a><br /></td></tr>
<tr class="separator:a47e67c93dafae3cfe4dc3bbc090f60c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5117cb8110b7c42583cf488a99cb36f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a5117cb8110b7c42583cf488a99cb36f8">getFromPose</a> (void) const </td></tr>
<tr class="memdesc:a5117cb8110b7c42583cf488a99cb36f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the "from" pose for lines and rectangles; valid only if <a class="el" href="classArMapObject.html#a673578fc0faa0aaa00964ff404c28716" title="Returns true if the map object has valid &quot;from/to&quot; poses (i.e. is a line or rectangle) ...">hasFromTo()</a>  <a href="#a5117cb8110b7c42583cf488a99cb36f8">More...</a><br /></td></tr>
<tr class="separator:a5117cb8110b7c42583cf488a99cb36f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a747aad8f96a00691ee99aedca9789a68"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a747aad8f96a00691ee99aedca9789a68">getFromToRotation</a> (void) const </td></tr>
<tr class="memdesc:a747aad8f96a00691ee99aedca9789a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the optional rotation of a rectangle; or 0 if none.  <a href="#a747aad8f96a00691ee99aedca9789a68">More...</a><br /></td></tr>
<tr class="separator:a747aad8f96a00691ee99aedca9789a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12337274b83132eb3ec733c46e674cdd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArLineSegment.html">ArLineSegment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a12337274b83132eb3ec733c46e674cdd">getFromToSegment</a> (void)</td></tr>
<tr class="memdesc:a12337274b83132eb3ec733c46e674cdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a line segment that goes from the from to the to.  <a href="#a12337274b83132eb3ec733c46e674cdd">More...</a><br /></td></tr>
<tr class="separator:a12337274b83132eb3ec733c46e674cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a813ffccdb0715efe5688c6bbe227761b"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a813ffccdb0715efe5688c6bbe227761b">getFromToSegments</a> (void)</td></tr>
<tr class="memdesc:a813ffccdb0715efe5688c6bbe227761b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of fromTo line segments that have been rotated.  <a href="#a813ffccdb0715efe5688c6bbe227761b">More...</a><br /></td></tr>
<tr class="separator:a813ffccdb0715efe5688c6bbe227761b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac963d727fdff35027f9e2e8109c4fe1b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#ac963d727fdff35027f9e2e8109c4fe1b">getIconName</a> (void) const </td></tr>
<tr class="memdesc:ac963d727fdff35027f9e2e8109c4fe1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the icon string of the object.  <a href="#ac963d727fdff35027f9e2e8109c4fe1b">More...</a><br /></td></tr>
<tr class="separator:ac963d727fdff35027f9e2e8109c4fe1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab2f33fef559f537cb9348754f349f10"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aab2f33fef559f537cb9348754f349f10">getId</a> () const </td></tr>
<tr class="memdesc:aab2f33fef559f537cb9348754f349f10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the numerical identifier of the object, when auto-numbering is on.  <a href="#aab2f33fef559f537cb9348754f349f10">More...</a><br /></td></tr>
<tr class="separator:aab2f33fef559f537cb9348754f349f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97e225506e836b3b76962d33d9a0e6ea"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a97e225506e836b3b76962d33d9a0e6ea">getName</a> (void) const </td></tr>
<tr class="memdesc:a97e225506e836b3b76962d33d9a0e6ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the map object (if any)  <a href="#a97e225506e836b3b76962d33d9a0e6ea">More...</a><br /></td></tr>
<tr class="separator:a97e225506e836b3b76962d33d9a0e6ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a48e0694d6426c8fe1ac3f98a7b324"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#ab3a48e0694d6426c8fe1ac3f98a7b324">getPose</a> (void) const </td></tr>
<tr class="memdesc:ab3a48e0694d6426c8fe1ac3f98a7b324"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the primary pose of the object.  <a href="#ab3a48e0694d6426c8fe1ac3f98a7b324">More...</a><br /></td></tr>
<tr class="separator:ab3a48e0694d6426c8fe1ac3f98a7b324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e9b2d1443c999c47f4e5cb1d0995df"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#ab5e9b2d1443c999c47f4e5cb1d0995df">getRegionVertices</a> () const </td></tr>
<tr class="memdesc:ab5e9b2d1443c999c47f4e5cb1d0995df"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this object is a region or sector type, return a std::vector containing the position (in global map coordinate frame) of each corner.  <a href="#ab5e9b2d1443c999c47f4e5cb1d0995df">More...</a><br /></td></tr>
<tr class="separator:ab5e9b2d1443c999c47f4e5cb1d0995df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa93ec1a87ea0df3b9ef753dccd8bd48"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aaa93ec1a87ea0df3b9ef753dccd8bd48">getStringRepresentation</a> () const </td></tr>
<tr class="memdesc:aaa93ec1a87ea0df3b9ef753dccd8bd48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the text representation of the map object.  <a href="#aaa93ec1a87ea0df3b9ef753dccd8bd48">More...</a><br /></td></tr>
<tr class="separator:aaa93ec1a87ea0df3b9ef753dccd8bd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63121c59f6e9b36fe72abbe5d6383fb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a63121c59f6e9b36fe72abbe5d6383fb5">getToPose</a> (void) const </td></tr>
<tr class="memdesc:a63121c59f6e9b36fe72abbe5d6383fb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the "to" pose for lines and rectangles; valid only if <a class="el" href="classArMapObject.html#a673578fc0faa0aaa00964ff404c28716" title="Returns true if the map object has valid &quot;from/to&quot; poses (i.e. is a line or rectangle) ...">hasFromTo()</a>  <a href="#a63121c59f6e9b36fe72abbe5d6383fb5">More...</a><br /></td></tr>
<tr class="separator:a63121c59f6e9b36fe72abbe5d6383fb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a292d43e1e744d50891a225e67f7aface"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a292d43e1e744d50891a225e67f7aface">getType</a> (void) const </td></tr>
<tr class="memdesc:a292d43e1e744d50891a225e67f7aface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of the map object.  <a href="#a292d43e1e744d50891a225e67f7aface">More...</a><br /></td></tr>
<tr class="separator:a292d43e1e744d50891a225e67f7aface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a673578fc0faa0aaa00964ff404c28716"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a673578fc0faa0aaa00964ff404c28716">hasFromTo</a> (void) const </td></tr>
<tr class="memdesc:a673578fc0faa0aaa00964ff404c28716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the map object has valid "from/to" poses (i.e. is a line or rectangle)  <a href="#a673578fc0faa0aaa00964ff404c28716">More...</a><br /></td></tr>
<tr class="separator:a673578fc0faa0aaa00964ff404c28716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff9eed69985da29cb25be390b821cebf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aff9eed69985da29cb25be390b821cebf">isPointInside</a> (const <a class="el" href="classArPose.html">ArPose</a> &amp;p) const </td></tr>
<tr class="memdesc:aff9eed69985da29cb25be390b821cebf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the given point is inside the region of this object, assuming that this object is a region or sector.  <a href="#aff9eed69985da29cb25be390b821cebf">More...</a><br /></td></tr>
<tr class="separator:aff9eed69985da29cb25be390b821cebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ed252d7403cc3ec9956e93b8dcfe67b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a2ed252d7403cc3ec9956e93b8dcfe67b">log</a> (const char *intro=NULL) const </td></tr>
<tr class="memdesc:a2ed252d7403cc3ec9956e93b8dcfe67b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the map object to the <a class="el" href="classArLog.html" title="Logging utility class. ">ArLog</a>.  <a href="#a2ed252d7403cc3ec9956e93b8dcfe67b">More...</a><br /></td></tr>
<tr class="separator:a2ed252d7403cc3ec9956e93b8dcfe67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaac20b11f5069923449201228c4573a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaac20b11f5069923449201228c4573a7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aaac20b11f5069923449201228c4573a7">operator&lt;</a> (const <a class="el" href="classArMapObject.html">ArMapObject</a> &amp;other) const </td></tr>
<tr class="memdesc:aaac20b11f5069923449201228c4573a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Less than operator (for sets), orders by position. <br /></td></tr>
<tr class="separator:aaac20b11f5069923449201228c4573a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad96db94d0e8e3a39ea0761540c194999"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad96db94d0e8e3a39ea0761540c194999"></a>
<a class="el" href="classArMapObject.html">ArMapObject</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#ad96db94d0e8e3a39ea0761540c194999">operator=</a> (const <a class="el" href="classArMapObject.html">ArMapObject</a> &amp;mapObject)</td></tr>
<tr class="memdesc:ad96db94d0e8e3a39ea0761540c194999"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br /></td></tr>
<tr class="separator:ad96db94d0e8e3a39ea0761540c194999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4ef278ce9c035c2759ddb430a6313a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#ad4ef278ce9c035c2759ddb430a6313a2">setDescription</a> (const char *description)</td></tr>
<tr class="memdesc:ad4ef278ce9c035c2759ddb430a6313a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the description of the map object.  <a href="#ad4ef278ce9c035c2759ddb430a6313a2">More...</a><br /></td></tr>
<tr class="separator:ad4ef278ce9c035c2759ddb430a6313a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a328779213b90484ce868e16d70804892"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a328779213b90484ce868e16d70804892"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setFromTo</b> (<a class="el" href="classArPose.html">ArPose</a> from, <a class="el" href="classArPose.html">ArPose</a> to)</td></tr>
<tr class="separator:a328779213b90484ce868e16d70804892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b464fc232dbd0e299573645e2b7e3fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b464fc232dbd0e299573645e2b7e3fd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setPose</b> (<a class="el" href="classArPose.html">ArPose</a> p)</td></tr>
<tr class="separator:a1b464fc232dbd0e299573645e2b7e3fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a0fe2b2d5f7784cca465f0b64228538"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a4a0fe2b2d5f7784cca465f0b64228538">toString</a> () const </td></tr>
<tr class="memdesc:a4a0fe2b2d5f7784cca465f0b64228538"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the text representation of the map object.  <a href="#a4a0fe2b2d5f7784cca465f0b64228538">More...</a><br /></td></tr>
<tr class="separator:a4a0fe2b2d5f7784cca465f0b64228538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace18554350f0c0bc0fdcc9dda571c192"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace18554350f0c0bc0fdcc9dda571c192"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#ace18554350f0c0bc0fdcc9dda571c192">~ArMapObject</a> ()</td></tr>
<tr class="memdesc:ace18554350f0c0bc0fdcc9dda571c192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ace18554350f0c0bc0fdcc9dda571c192"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aead99125fbdae726a76e29b0548b22bc"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArMapObject.html">ArMapObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aead99125fbdae726a76e29b0548b22bc">createMapObject</a> (<a class="el" href="classArArgumentBuilder.html">ArArgumentBuilder</a> *arg)</td></tr>
<tr class="memdesc:aead99125fbdae726a76e29b0548b22bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> whose attributes are as specified in the given arguments.  <a href="#aead99125fbdae726a76e29b0548b22bc">More...</a><br /></td></tr>
<tr class="separator:aead99125fbdae726a76e29b0548b22bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a8b29495e8502d424d17acc37457dcbd0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b29495e8502d424d17acc37457dcbd0"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a8b29495e8502d424d17acc37457dcbd0">myBaseType</a></td></tr>
<tr class="memdesc:a8b29495e8502d424d17acc37457dcbd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-empty, then myType ends with "WithHeading" and this is the "root". <br /></td></tr>
<tr class="separator:a8b29495e8502d424d17acc37457dcbd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9135e770e3fa0e7571b7ca9558383806"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9135e770e3fa0e7571b7ca9558383806"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a9135e770e3fa0e7571b7ca9558383806">myDescription</a></td></tr>
<tr class="memdesc:a9135e770e3fa0e7571b7ca9558383806"><td class="mdescLeft">&#160;</td><td class="mdescRight">The description of the map object. <br /></td></tr>
<tr class="separator:a9135e770e3fa0e7571b7ca9558383806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe5b2706339eefab4c166c88c17402c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe5b2706339eefab4c166c88c17402c6"></a>
<a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#abe5b2706339eefab4c166c88c17402c6">myFromPose</a></td></tr>
<tr class="memdesc:abe5b2706339eefab4c166c88c17402c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The "from" pose of a region map object; valid only if myHasFromTo is true. <br /></td></tr>
<tr class="separator:abe5b2706339eefab4c166c88c17402c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a28e3f9aad377c8729e4240db2052e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a28e3f9aad377c8729e4240db2052e3"></a>
<a class="el" href="classArLineSegment.html">ArLineSegment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a5a28e3f9aad377c8729e4240db2052e3">myFromToSegment</a></td></tr>
<tr class="memdesc:a5a28e3f9aad377c8729e4240db2052e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">For line objects, the line. <br /></td></tr>
<tr class="separator:a5a28e3f9aad377c8729e4240db2052e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb31b8180472beb4f4a6705d7d6644b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb31b8180472beb4f4a6705d7d6644b4"></a>
std::list&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#abb31b8180472beb4f4a6705d7d6644b4">myFromToSegments</a></td></tr>
<tr class="memdesc:abb31b8180472beb4f4a6705d7d6644b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">For rectangle objects, the line segments that comprise the perimeter (even if rotated) <br /></td></tr>
<tr class="separator:abb31b8180472beb4f4a6705d7d6644b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82cad9f1ae570f23b8bdd0cae6288bcf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82cad9f1ae570f23b8bdd0cae6288bcf"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a82cad9f1ae570f23b8bdd0cae6288bcf">myHasFromTo</a></td></tr>
<tr class="memdesc:a82cad9f1ae570f23b8bdd0cae6288bcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the map object is a region (line or rect) with "from/to" poses. <br /></td></tr>
<tr class="separator:a82cad9f1ae570f23b8bdd0cae6288bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37b4b8946edf85068b7300f452a42265"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37b4b8946edf85068b7300f452a42265"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a37b4b8946edf85068b7300f452a42265">myIconName</a></td></tr>
<tr class="memdesc:a37b4b8946edf85068b7300f452a42265"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved for future use. <br /></td></tr>
<tr class="separator:a37b4b8946edf85068b7300f452a42265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1555c10eda80c2ec490788227aadbeaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1555c10eda80c2ec490788227aadbeaf"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a1555c10eda80c2ec490788227aadbeaf">myName</a></td></tr>
<tr class="memdesc:a1555c10eda80c2ec490788227aadbeaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the map object, if any. <br /></td></tr>
<tr class="separator:a1555c10eda80c2ec490788227aadbeaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3b2bce84316c7833785674d228a93dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3b2bce84316c7833785674d228a93dd"></a>
<a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#aa3b2bce84316c7833785674d228a93dd">myPose</a></td></tr>
<tr class="memdesc:aa3b2bce84316c7833785674d228a93dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">For pose objects, THE pose; For rectangle objects, contains the optional rotation. <br /></td></tr>
<tr class="separator:aa3b2bce84316c7833785674d228a93dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a374af0727704a595cb8a15d4dbb8fd0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a374af0727704a595cb8a15d4dbb8fd0e"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a374af0727704a595cb8a15d4dbb8fd0e">myStringRepresentation</a></td></tr>
<tr class="memdesc:a374af0727704a595cb8a15d4dbb8fd0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Text representation written to the map file. <br /></td></tr>
<tr class="separator:a374af0727704a595cb8a15d4dbb8fd0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5da63b97d900481df85bbfeda9ce8532"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5da63b97d900481df85bbfeda9ce8532"></a>
<a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#a5da63b97d900481df85bbfeda9ce8532">myToPose</a></td></tr>
<tr class="memdesc:a5da63b97d900481df85bbfeda9ce8532"><td class="mdescLeft">&#160;</td><td class="mdescRight">The "to" pose of a region map object; valid only if myHasFromTo is true. <br /></td></tr>
<tr class="separator:a5da63b97d900481df85bbfeda9ce8532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2460d867bdd419f33d18e8776ae8ca3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2460d867bdd419f33d18e8776ae8ca3"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapObject.html#af2460d867bdd419f33d18e8776ae8ca3">myType</a></td></tr>
<tr class="memdesc:af2460d867bdd419f33d18e8776ae8ca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the map object. <br /></td></tr>
<tr class="separator:af2460d867bdd419f33d18e8776ae8ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A point or region of interest in an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map. </p>
<p><a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> contains the data related to an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map object, i.e a point or region of interest in an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map that is not part of the sensed obstacle data. Examples of map objects include goals, docks, forbidden lines, and forbidden areas. Applications may define their own custom <a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> types using the <a class="el" href="classArMap.html" title="A map of a two-dimensional space the robot can navigate within, and which can be updated via the Aria...">ArMap</a> MapInfo mechanism. See <a class="el" href="classArMap.html">ArMap</a> for more information.</p>
<p>The basic attributes of an <a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> include the type of the map object, an optional name of the object, and its position information. As mentioned above, there are two basic categories of <a class="el" href="classArMapObjects.html" title="The collection of map objects that are contained in an Aria map. ">ArMapObjects</a>:</p>
<ul>
<li>Points: A single <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> in the map. By convention, if a map object can have an optional heading, then "WithHeading" appears at the end of the object type when the heading is specified. For example, "Goal" designates an (x,y) location in the map (any heading or theta value should be ignored) and "GoalWithHeading" designates an (x,y,th) location.</li>
<li>Regions: A set of two ArPoses ("from" and "to") which define a rectangle or a line. Rectangles may have an associated rotation value. It is the rotation to be applied to the "from" and "to" poses <em> around the global origin </em>. To retrieve the list of line segments that comprise the rotated rectangle's perimeter, use the <a class="el" href="classArMapObject.html#a813ffccdb0715efe5688c6bbe227761b" title="Gets a list of fromTo line segments that have been rotated. ">getFromToSegments()</a> method.</li>
</ul>
<p>Note that the <a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> is generally immutable. If an object needs to be changed, then the original version should simply be replaced with a new one. See ArMap::getMapObjects(), ArMap::setMapObjects(), and ArMap::mapChanged(). </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a04a5dec36b6f4f0f064721d48d677cea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArMapObject::ArMapObject </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArPose.html">ArPose</a>&#160;</td>
          <td class="paramname"><em>pose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>description</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>iconName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hasFromTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArPose.html">ArPose</a>&#160;</td>
          <td class="paramname"><em>fromPose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArPose.html">ArPose</a>&#160;</td>
          <td class="paramname"><em>toPose</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>the char * type of the map object (e.g. "Goal", "ForbiddenLine"); must be non-empty </td></tr>
    <tr><td class="paramname">pose</td><td>the primary <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> of the map object; for points, this is its location; for rectangles, this specifies the rotation of the rectangle (in pose.getTh()) </td></tr>
    <tr><td class="paramname">description</td><td>an optional char * description of the object. </td></tr>
    <tr><td class="paramname">iconName</td><td>char * currently unused: use "ICON" or NULL as a dummy value. Must be a non-empty, non-whitespace string. </td></tr>
    <tr><td class="paramname">name</td><td>the char * name of the map object; depending on the object type, this may be optional or required </td></tr>
    <tr><td class="paramname">hasFromTo</td><td>a bool set to true if the object is a region (i.e. line or rectangle); false if the object is a point </td></tr>
    <tr><td class="paramname">fromPose</td><td>the <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> that defines the start point of the region object; applicable only when hasFromTo is true </td></tr>
    <tr><td class="paramname">toPose</td><td>the <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> that defines the end point of the region object; applicable only when hasFromTo is true </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aead99125fbdae726a76e29b0548b22bc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArMapObject.html">ArMapObject</a> * ArMapObject::createMapObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArArgumentBuilder.html">ArArgumentBuilder</a> *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a new <a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> whose attributes are as specified in the given arguments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">arg</td><td>the <a class="el" href="classArArgumentBuilder.html" title="This class is to build arguments for things that require argc and argv. ">ArArgumentBuilder</a> * from which to create the <a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a>; this should correspond to a parsed line in the <a class="el" href="classArMap.html" title="A map of a two-dimensional space the robot can navigate within, and which can be updated via the Aria...">ArMap</a> file </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classArMapObject.html" title="A point or region of interest in an Aria map. ">ArMapObject</a> * the newly created map object, or NULL if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="a4fe80a4961f0ad2457f81bb7a7d939d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArPose.html">ArPose</a> ArMapObject::findCenter </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Computes the center pose of the map object. </p>
<p>This method determines the center of map objects that have a "from" and a "to" pose (i.e. lines and rectangles). For map objects that are poses, this method simply returns the pose. </p>

</div>
</div>
<a class="anchor" id="aa6620dc2f7392c663bc50d3bc7efc451"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArMapObject::getBaseType </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the "base" (or root) type of the map object. </p>
<p>If the map object type ends with "WithHeading", then the base is the corresponding heading-less type. For example, "GoalWithHeading" has a base type of "Goal".</p>
<p>If the map object type does not end with "WithHeading", then the base is the same as the type. </p>

</div>
</div>
<a class="anchor" id="a47e67c93dafae3cfe4dc3bbc090f60c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArMapObject::getFileName </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the fileName of the object (probably never used for maps) </p>
<p>This method is maintained solely for backwards compatibility. It now returns the same value as getDescription (i.e. any file names that may have been associated with an object can now be found in the description attribute). </p><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000042">Deprecated:</a></b></dt><dd></dd></dl>
<p>This method is maintained solely for backwards compatibility. It now returns the same value as getDescription (i.e. any file names that may have been associated with an object can now be found in the description attribute). </p><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a5117cb8110b7c42583cf488a99cb36f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArPose.html">ArPose</a> ArMapObject::getFromPose </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the "from" pose for lines and rectangles; valid only if <a class="el" href="classArMapObject.html#a673578fc0faa0aaa00964ff404c28716" title="Returns true if the map object has valid &quot;from/to&quot; poses (i.e. is a line or rectangle) ...">hasFromTo()</a> </p>
<p>Gets the from pose (could be for line or box, depending) </p>

</div>
</div>
<a class="anchor" id="a747aad8f96a00691ee99aedca9789a68"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ArMapObject::getFromToRotation </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the optional rotation of a rectangle; or 0 if none. </p>
<p>Note that this function doesn't know whether it actually makes sense for this map object to have the rotation. (For example, it makes sense on a ForbiddenArea but not a ForbiddenLine.) </p>

</div>
</div>
<a class="anchor" id="a12337274b83132eb3ec733c46e674cdd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArLineSegment.html">ArLineSegment</a> ArMapObject::getFromToSegment </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets a line segment that goes from the from to the to. </p>
<p>Note that this function doesn't know whether this is supposed to be a rectangle or a line. (For example, it makes sense on a ForbiddenLine but not a ForbiddenAra.) This is just here to store it. Note that this might be a little more CPU/Memory intensive transfering these around, so you may want to keep a copy of them if you're using them a lot (but make sure you clear the copy if the map changes). It may not make much difference on a modern processor though (its set up this way for safety). </p>

</div>
</div>
<a class="anchor" id="a813ffccdb0715efe5688c6bbe227761b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt; ArMapObject::getFromToSegments </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets a list of fromTo line segments that have been rotated. </p>
<p>Note that this function doesn't know whether it actually makes sense for this map object to have the rotation. (For example, it makes sense on a ForbiddenArea but not a ForbiddenLine.) This is just here so that everyone doesn't have to do the same calculation. Note that this might be a little more CPU/Memory intensive transfering these around, so you may want to keep a copy of them if you're using them a lot (but make sure you clear the copy if the map changes). It may not make much difference on a modern processor though (its set up this way for safety). </p>

</div>
</div>
<a class="anchor" id="ac963d727fdff35027f9e2e8109c4fe1b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArMapObject::getIconName </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the icon string of the object. </p>
<p>Gets the icon string of the object.</p>
<p>The use of the ICON field is application-dependent. It currently contains either the string "ICON" or "ID=&lt;n&gt;". The ID is used only when auto-numbering has been turned on in the MapInfo. </p>

</div>
</div>
<a class="anchor" id="aab2f33fef559f537cb9348754f349f10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArMapObject::getId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the numerical identifier of the object, when auto-numbering is on. </p>
<p>This method returns 0 when auto-numbering is off. </p>

</div>
</div>
<a class="anchor" id="a97e225506e836b3b76962d33d9a0e6ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArMapObject::getName </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the name of the map object (if any) </p>
<p>Gets the name of the object (if any) </p>

</div>
</div>
<a class="anchor" id="ab3a48e0694d6426c8fe1ac3f98a7b324"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArPose.html">ArPose</a> ArMapObject::getPose </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the primary pose of the object. </p>
<p>Gets the pose of the object.</p>
<p>For points, this is the map object's location; for rectangles, this specifies the rotation of the rectangle (in <a class="el" href="classArMapObject.html#ab3a48e0694d6426c8fe1ac3f98a7b324" title="Returns the primary pose of the object. ">getPose()</a>.getTh()) </p>

</div>
</div>
<a class="anchor" id="ab5e9b2d1443c999c47f4e5cb1d0995df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt; ArMapObject::getRegionVertices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If this object is a region or sector type, return a std::vector containing the position (in global map coordinate frame) of each corner. </p>
<p>I.e. taking object rotation into account, find each corner. If this object is not a region or sector (i.e. does not have "from" and "to" corners), then an empty std::vector is returned. The "Theta" components of the vertex <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> objects is not set or used. </p>

</div>
</div>
<a class="anchor" id="aaa93ec1a87ea0df3b9ef753dccd8bd48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* ArMapObject::getStringRepresentation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the text representation of the map object. </p>
<p>This method is equivalent to <a class="el" href="classArMapObject.html#a4a0fe2b2d5f7784cca465f0b64228538" title="Returns the text representation of the map object. ">toString()</a>; </p>

</div>
</div>
<a class="anchor" id="a63121c59f6e9b36fe72abbe5d6383fb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArPose.html">ArPose</a> ArMapObject::getToPose </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the "to" pose for lines and rectangles; valid only if <a class="el" href="classArMapObject.html#a673578fc0faa0aaa00964ff404c28716" title="Returns true if the map object has valid &quot;from/to&quot; poses (i.e. is a line or rectangle) ...">hasFromTo()</a> </p>
<p>Gets the to pose (could be for line or box, depending) </p>

</div>
</div>
<a class="anchor" id="a292d43e1e744d50891a225e67f7aface"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArMapObject::getType </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the type of the map object. </p>
<p>Gets the type of the object. </p>

</div>
</div>
<a class="anchor" id="a673578fc0faa0aaa00964ff404c28716"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArMapObject::hasFromTo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns true if the map object has valid "from/to" poses (i.e. is a line or rectangle) </p>
<p>Gets the addition args of the object. </p>

</div>
</div>
<a class="anchor" id="aff9eed69985da29cb25be390b821cebf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArMapObject::isPointInside </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classArPose.html">ArPose</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return true if the given point is inside the region of this object, assuming that this object is a region or sector. </p>
<p>False if not. </p>

</div>
</div>
<a class="anchor" id="a2ed252d7403cc3ec9956e93b8dcfe67b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArMapObject::log </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>intro</em> = <code>NULL</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes the map object to the <a class="el" href="classArLog.html" title="Logging utility class. ">ArLog</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">intro</td><td>an optional string that should appear before the object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad4ef278ce9c035c2759ddb430a6313a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArMapObject::setDescription </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>description</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the description of the map object. </p>
<p>This method really should only be called immediately after the object is created, and before it is added to the map. (Since the map object isn't intended to be mutable.) It exists for backwards compatibility. </p>

</div>
</div>
<a class="anchor" id="a4a0fe2b2d5f7784cca465f0b64228538"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArMapObject::toString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the text representation of the map object. </p>
<p>The returned string is suitable for writing to the <a class="el" href="classArMap.html" title="A map of a two-dimensional space the robot can navigate within, and which can be updated via the Aria...">ArMap</a> file. Note that the string does NOT include the map object's optional parameters. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArMapObject.h</li>
<li>ArMapObject.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArMapObject.html">ArMapObject</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
